## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-

def build(bld):
    obj = bld.create_ns3_program('mixed-wireless', ['core', 'mobility', 'wifi', 'applications', 'point-to-point', 
                                                    'internet', 'csma', 'olsr', 'netanim'])
    obj.source = 'mixed-wireless.cc'

    bld.register_ns3_script('mixed-wireless.py', ['core', 'mobility', 'wifi', 'applications', 'point-to-point', 
                                                    'internet', 'csma', 'olsr'])

    obj = bld.create_ns3_program('wifi-adhoc', ['core', 'mobility', 'wifi', 'applications', 'stats'])
    obj.source = 'wifi-adhoc.cc'

    obj = bld.create_ns3_program('wifi-clear-channel-cmu', ['internet', 'mobility', 'wifi', 'stats'])
    obj.source = 'wifi-clear-channel-cmu.cc'

    obj = bld.create_ns3_program('wifi-ap', ['core', 'mobility', 'wifi', 'applications', 'config-store', 'stats'])
    obj.source = 'wifi-ap.cc'

    bld.register_ns3_script('wifi-ap.py', ['core', 'mobility', 'wifi', 'applications', 'config-store', 'stats'])

    obj = bld.create_ns3_program('wifi-wired-bridging', ['internet', 'mobility', 'wifi', 'csma', 'bridge', 'applications'])
    obj.source = 'wifi-wired-bridging.cc'

    obj = bld.create_ns3_program('simple-msdu-aggregation', ['internet', 'mobility', 'wifi', 'applications'])
    obj.source = 'simple-msdu-aggregation.cc'

    obj = bld.create_ns3_program('multirate', ['internet', 'mobility', 'wifi', 'stats', 'flow-monitor', 'olsr', 'applications', 'point-to-point'])
    obj.source = 'multirate.cc'

    obj = bld.create_ns3_program('wifi-simple-adhoc', ['internet', 'mobility', 'wifi', 'config-store', 'stats'])
    obj.source = 'wifi-simple-adhoc.cc'

    obj = bld.create_ns3_program('wifi-simple-adhoc-grid', ['internet', 'mobility', 'wifi', 'olsr', 'config-store', 'stats', 'point-to-point'])
    obj.source = 'wifi-simple-adhoc-grid.cc'

    obj = bld.create_ns3_program('wifi-simple-infra', ['internet', 'mobility', 'wifi','config-store'])
    obj.source = 'wifi-simple-infra.cc'

    obj = bld.create_ns3_program('wifi-simple-interference', ['internet', 'mobility', 'wifi', 'config-store', 'stats'])
    obj.source = 'wifi-simple-interference.cc'

    obj = bld.create_ns3_program('wifi-blockack', ['internet', 'mobility', 'wifi', 'applications'])
    obj.source = 'wifi-blockack.cc'

    obj = bld.create_ns3_program('ofdm-validation', ['core', 'mobility', 'wifi', 'config-store', 'stats'])
    obj.source = 'ofdm-validation.cc'

    obj = bld.create_ns3_program('ofdm-ht-validation', ['core', 'mobility', 'wifi', 'config-store', 'stats'])
    obj.source = 'ofdm-ht-validation.cc'

    obj = bld.create_ns3_program('wifi-hidden-terminal', ['internet', 'mobility', 'wifi', 'applications', 'propagation', 'flow-monitor'])
    obj.source = 'wifi-hidden-terminal.cc'

    obj = bld.create_ns3_program('ht-wifi-network', ['core','internet', 'mobility', 'wifi', 'applications', 'propagation'])
    obj.source = 'ht-wifi-network.cc'

    obj = bld.create_ns3_program('wifi-timing-attributes', ['core','internet', 'mobility', 'wifi', 'applications', 'propagation'])
    obj.source = 'wifi-timing-attributes.cc'

    obj = bld.create_ns3_program('wifi-sleep', ['core', 'network', 'internet', 'mobility', 'wifi', 'applications', 'energy', 'config-store'])
    obj.source = 'wifi-sleep.cc'
    
    obj = bld.create_ns3_program('power-adaptation-distance', ['core', 'mobility', 'wifi', 'applications', 'flow-monitor'])
    obj.source = 'power-adaptation-distance.cc'
    
    obj = bld.create_ns3_program('power-adaptation-interference', ['core', 'mobility', 'wifi', 'applications', 'flow-monitor'])
    obj.source = 'power-adaptation-interference.cc'

    obj = bld.create_ns3_program('rate-adaptation-distance', ['core', 'mobility', 'wifi', 'applications', 'flow-monitor'])
    obj.source = 'rate-adaptation-distance.cc'

    obj = bld.create_ns3_program('simple-mpdu-aggregation', ['internet', 'mobility', 'wifi', 'applications'])
    obj.source = 'simple-mpdu-aggregation.cc'

    obj = bld.create_ns3_program('simple-two-level-aggregation', ['internet', 'mobility', 'wifi', 'applications'])
    obj.source = 'simple-two-level-aggregation.cc'

    obj = bld.create_ns3_program('simple-ht-hidden-stations', ['internet', 'mobility', 'wifi', 'applications'])    
    obj.source = 'simple-ht-hidden-stations.cc'
